我們從一個極簡 Qt 專案開始,這個專案只會有兩個檔案:一個Qt專案檔和一個CPP檔。
本系列的前幾天,我們都會保持這種只有單一檔案的形式,簡單好上手。
從 Qt 專案檔開始。
請打開您愛用的純文字編輯器(我用台灣之光 Notepad++),新開一個檔案名為 hello-qt.pro
,然後輸入以下內容:
# 這是 hello-qt.pro 的內容
QT += core gui widgets # 引入 Qt 模組
TEMPLATE = app # 這是一支應用程式 (app)
TARGET = HelloQt # 執行檔名稱
SOURCES = hello_qt.cpp # 這支專案有一個 CPP
Qt專案檔的副檔名是.pro,它用於組織整個Qt專案,包含原始碼,進行編譯器各種設定等等。
在這裡,我們只寫了四行必要的設定:
QT += core gui widgets
: 引入Qt模組。包含核心以及圖形化程式模組。TEMPLATE = app
: 指明這是一支應用程式 (如果是函式庫就是 TEMPLATE = lib)。TARGET = HelloQt
: 執行檔的名稱。比如 Win 平台編譯後就會產生 HelloQt.exe
。SOURCES = hello_qt.cpp
: 指定專案中包含哪些原始碼檔案。由於今天只有一個cpp檔,所以只有一行。接下來,來寫C++程式碼。請新開一個檔案名為hello_qt.cpp
,輸入以下內容,並將其放在與專案文件相同的目錄中。
// 這是 hello_qt.cpp
#include <QApplication>
#include <QWidget>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget w;
w.show();
return a.exec();
}
這時候請打開 Qt Creator。從選單列 File
-> Open File or Project
-> 選擇你剛剛建立的專案檔 hello-qt.pro
。
然後選擇 Qt 版本並點擊 Congifure Projects
。按左下角的「綠色箭頭」編譯專案並執行。
順利的話,你應該會看到我們用短短的幾行程式,就建立了一個空白的 Qt 視窗。
所以這個 CPP 到底做了什麼呢?我們來仔細看看。
每支 Qt GUI 程式都會有一個 (也是唯一一個) QApplication 物件,負責整個整個應用程式的初始化和生命流程管理。我們自己的程式碼,就寫在 QApplication a(argc, argv);
和 a.exec()
兩個語句之間。
QApplication a(argc, argv);
// Do your thing
return a.exec();
程式碼中,我們創建了一個 QWidget
物件。QWidget 是 Qt 圖形介面裡的基本視窗單位。從剛剛運行的程式,你應該可以看到它就是個空白視窗。以後我們有很多機會用到各種 QWidget 的變種,像是按鈕、文字框、下拉選單等等,它們都繼承自 QWidget 物件。
QWidget w;
w.show();
通過呼叫一個簡單的 w.show()
函式,顯示這個空白視窗。恭喜你,完成了第一支 Qt 程式。
附帶一題,本系列都可以在我的 Github 找到完整程式碼。